System and method for providing notification based on location deviation

ABSTRACT

A server is configured to establish a communication session between electronic devices, receive first information about a time range and second information about a location range from a first electronic device, send third information to the first device, the third information being information about one or more users with whom a user of the first device establishes a human relationship, identify a user selected among the one or more users, store the first information and the second information in a database in connection with identifiers of the user and the identified user, monitor a location of at least one of the first device and a second device of the identified user based on the first and second information, and send, when one of the first or second device deviates from the location range, a notification message to the other one of the first or second device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims under 35 U.S.C. §119 priority to Korean PatentApplication No. 10-2015-0127909 filed Sep. 9, 2015, in the KoreanIntellectual Property Office, the entire contents of which are herebyincorporated by reference.

BACKGROUND

Example embodiments of the inventive concepts described herein relate tosystems and/or methods for providing notification of a locationdeviation.

There are technologies that provide notification of a locationdeviation. For example, some conventional technologies periodicallyverify location information of a counterpart terminal and notify a userterminal that a counterpart deviates from a location on a schedule setby a user.

According to such technologies, the user accesses a separate service toregister the counterpart and register information about the counterpartto verify a location deviation one by one. For example, the userseparately accesses a site which provides a service, to join the site asa member, and inputs information about the counterpart using a userinterface provided from the site. Thereafter, a server which providesthe site requests the counterpart to concur with providing locationinformation using the input information about the counterpart. If thecounterpart is not a member of the service provided from the site, thecounterpart accesses the site, joins the site as a member, and agrees toprovide the location information.

Also, in the process of requesting the counterpart to agree to providethe location information, the server explains the user to thecounterpart. In other words, the server allows the counterpart torecognize whether to provide or not provide location information to oneor more other users.

In the related art, only deviation from a specific place such as alocation on a schedule may be detected. Deviation from various locationranges set based on various conditions may not be detected. For example,in the related art, it may be detected that the counterpart deviatesfrom his or her school. However, it may not be detected or verifiedwhether the counterpart deviates from a route range from his or herschool to his or her home.

Further, in the related art, it may be detected whether the counterpartdeviates from a location set by the user. However, when the userdeviates from the location set by the user, there is no method ofinforming another user that the user deviates from the location set bythe user.

SUMMARY

In one example embodiment, a server includes a memory configured tostore computer-readable instructions and at least one processor. The atleast one processor is configured to execute the computer-readableinstructions to establish a communication session for routing messagesbetween electronic devices and for managing human relationshipinformation between users of the electronic devices, receive firstinformation about a time range and second information about a locationrange from a first electronic device among the electronic devices, andsend third information to the first electronic device based on the humanrelationship information, the third information being information aboutone or more users with whom a user of the first electronic deviceestablishes a human relationship. The at least one processor is furtherconfigured to execute the computer-readable instructions to identify,from the first electronic device, a user selected among the one or moreusers, store the first information and the second information in adatabase in connection with an identifier of the user of the firstelectronic device and an identifier of the identified user, monitor alocation of at least one of the first electronic device and a secondelectronic device of the identified user based on the first and secondinformation stored in the database, and send, when one of the firstelectronic device or the second electronic device deviates from thelocation range at a time corresponding to the time range, a notificationmessage to the other one of the first electronic device or the secondelectronic device through the communication session based on themonitored location.

In yet another example embodiment, the location range is a range set ona map, based on an input of the user of the first electronic device onthe map displayed on a screen of the first electronic device.

In yet another example embodiment the screen of the first electronicdevice is a touch screen; and the range set on the map is set through atouch gesture of the user on the touch screen.

In yet another example embodiment, the location range includes at leastone route between a source and a destination set in the first electronicdevice.

In yet another example embodiment, the location range includes a routeof a vehicle selected in the first electronic device.

In yet another example embodiment, the location range includes a firstlocation range and a second location range; and the at least oneprocessor is configured to determine whether the one of the firstelectronic device or the second electronic device deviates from thefirst location range at the time corresponding to the time range andmoves into the second location range, and send the notification messageto the other one of the first electronic device or the second electronicdevice, if it is determined that the one of the first electronic deviceor the second electronic device does not move into the second locationrange.

In an example embodiment, a method includes establishing, by a firstelectronic device, a communication session for communicating a messagewith one or more other electronic devices, providing, by the firstelectronic device, a user interface for receiving a time range and alocation range, generating, by the first electronic device, firstinformation about the time range and second information about thelocation range based on information input through the user interface,and receiving, by the first electronic device, information about one ormore users with whom a user of the first electronic device establishes ahuman relationship. The method further includes identifying, by thefirst electronic device, a user selected based on an input of the userof the first electronic device among the one or more users, sending, bythe first electronic device, the first information, the secondinformation, and third information about the identified user to theserver, storing, in the server, the first and second information inconnection with an identifier of the user of the first electronic deviceand an identifier of the identified user, monitoring, by the server, alocation of at least one of the first electronic device and a secondelectronic device of the identified user based on the first and secondinformation stored in the database; and sending, by the server, anotification message to one of the first electronic device or the secondelectronic device through the communication session, when the other oneof the first electronic device or the second electronic device deviatesfrom the location range at a time corresponding to the time range.

In yet another example embodiment, the user interface includes a map ona screen of the first electronic device and the generating generates thefirst information based on a range set on the map according to an inputof the user of the first electronic device on the map.

In yet another example embodiment, the screen of the first electronicdevice is a touch screen and the generating the first informationincludes recognizing the range set through a touch gesture of the userof the first electronic device on the touch screen.

In yet another example embodiment, the user interface enables the userof the first electronic device to set a source and a destination and thegenerating generates the first information based on at least one routebetween the source and the destination.

In yet another example embodiment, the user interface enables the userof the first electronic device to select a route for each vehicle andthe generating generates the first information based on the route ofeach vehicle selected through the user interface.

In yet another example embodiment, the location range includes a firstlocation range and a second location range and the sending thenotification message comprises sending the notification message to theone of the first electronic device and the second electronic device ifit is determined that the other one of the first electronic device orthe second electronic device, which deviates from the first locationrange at a time corresponding to the time range, does not move to thesecond location range.

In one example embodiment, a non-transitory computer-readable recordingmedium storing computer-readable instructions, which when executed by aprocessor, cause the processor to establish a communication session forcommunicating a message with one or more other electronic devices,provide a user interface for receiving a time range and a locationrange, generate first information about the time range and secondinformation about the location range based on information input throughthe user interface, receive information about one or more users withwhom a user of the first electronic device establishes a humanrelationship, identify a user selected based on an input of the user ofthe first electronic device among the one or more users, sending, by thefirst electronic device, the first information, the second information,and third information about the identified user to the server, store thefirst and second information in connection with an identifier of theuser of the first electronic device and an identifier of the identifieduser, monitor a location of at least one of the first electronic deviceand a second electronic device of the identified user based on the firstand second information stored in the database, and send a notificationmessage to one of the first electronic device or the second electronicdevice through the communication session, when the other one of thefirst electronic device or the second electronic device deviates fromthe location range at a time corresponding to the time range.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and features will become apparent from thefollowing description with reference to the following figures, whereinlike reference numerals refer to like parts throughout the variousfigures unless otherwise specified, and wherein

FIG. 1 is a drawing illustrating a network environment according to anexample embodiment of the inventive concepts;

FIG. 2 is a block diagram illustrating a configuration of an electronicdevice and a configuration of a server in an example embodiment of theinventive concepts;

FIG. 3 is a block diagram illustrating a detailed configuration of aprocessor of a server according to an example embodiment of theinventive concepts;

FIG. 4 is a flowchart illustrating a method performed by a serveraccording to an example embodiment of the inventive concepts;

FIG. 5 is a screen illustrating a process of setting a location rangeusing a map image in an example embodiment of the inventive concepts;

FIG. 6 is a screen illustrating a process of setting a location rangeusing a source and a destination in an example embodiment of theinventive concepts;

FIG. 7 is a screen illustrating a process of setting a location rangeusing a route of a vehicle in an example embodiment of the inventiveconcepts;

FIG. 8 is a drawing illustrating a plurality of location ranges in anexample embodiment of the inventive concepts;

FIG. 9 is a block diagram illustrating a detailed configuration of aprocessor of an electronic device according to an example embodiment ofthe inventive concepts; and

FIG. 10 is a flowchart illustrating a method performed by an electronicdevice according to an example embodiment of the inventive concepts.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

Example embodiments will be described in detail with reference to theaccompanying drawings. The inventive concepts, however, may be embodiedin various different forms, and should not be construed as being limitedonly to the illustrated example embodiments. Rather, these exampleembodiments are provided as examples so that this disclosure will bethorough and complete, and will fully convey the inventive concepts tothose skilled in the art. Accordingly, known processes, elements, andtechniques are not described with respect to some of the exampleembodiments of the inventive concepts. Unless otherwise noted, likereference numerals denote like elements throughout the attached drawingsand written description, and thus descriptions will not be repeated. Inthe drawings, the sizes and relative sizes of layers and regions may beexaggerated for clarity.

It will be understood that, although the terms “first”, “second”,“third”, etc., may be used herein to describe various elements,components, regions, layers and/or sections, these elements, components,regions, layers and/or sections should not be limited by these terms.These terms are only used to distinguish one element, component, region,layer or section from another region, layer or section. Thus, a firstelement, component, region, layer or section discussed below could betermed a second element, component, region, layer or section withoutdeparting from the teachings of the inventive concepts.

Spatially relative terms, such as “beneath”, “below”, “lower”, “under”,“above”, “upper” and the like, may be used herein for ease ofdescription to describe one element or feature's relationship to anotherelement(s) or feature(s) as illustrated in the figures. It will beunderstood that the spatially relative terms are intended to encompassdifferent orientations of the device in use or operation in addition tothe orientation depicted in the figures. For example, if the device inthe figures is turned over, elements described as “below” or “beneath”or “under” other elements or features would then be oriented “above” theother elements or features. Thus, the example terms “below” and “under”can encompass both an orientation of above and below. The device may beotherwise oriented (rotated 90 degrees or at other orientations) and thespatially relative descriptors used herein interpreted accordingly. Inaddition, it will also be understood that when a layer is referred to asbeing “between” two layers, it can be the only layer between the twolayers, or one or more intervening layers may also be present.

The terminology used herein is for the purpose of describing particularExample embodiments only and is not intended to be limiting of theinventive concepts. As used herein, the singular forms “a”, “an” and“the” are intended to include the plural forms as well, unless thecontext clearly indicates otherwise. It will be further understood thatthe terms “comprises” and/or “comprising,” when used in thisspecification, specify the presence of stated features, integers, steps,operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, integers, steps,operations, elements, components, and/or groups thereof. As used herein,the term “and/or” includes any and all combinations of one or more ofthe associated listed items. Expressions such as “at least one of,” whenpreceding a list of elements, modify the entire list of elements and donot modify the individual elements of the list. Thus, for example, both“at least one of (or one of) A, B, or C” and “A, B, and/or C” meanseither A, B, C or any combination thereof. Also, the term “example” isintended to refer to an example or illustration.

It will be understood that when an element or layer is referred to asbeing “on”, “connected to”, “coupled to”, or “adjacent to” anotherelement or layer, it can be directly on, connected, coupled, or adjacentto the other element or layer, or intervening elements or layers may bepresent. In contrast, when an element is referred to as being “directlyon,” “directly connected to”, “directly coupled to”, or “immediatelyadjacent to” another element or layer, there are no intervening elementsor layers present.

Unless otherwise defined, all terms (including technical and scientificterms) used herein have the same meaning as commonly understood by oneof ordinary skill in the art to which this inventive concepts belong. Itwill be further understood that terms, such as those defined in commonlyused dictionaries, should be interpreted as having a meaning that isconsistent with their meaning in the context of the relevant art and/orthe present disclosure and will not be interpreted in an idealized oroverly formal sense unless expressly so defined herein.

It should also be noted that in some alternative implementations, thefunctions/acts noted may occur out of the order noted in the figures.For example, two figures shown in succession may in fact be executedsubstantially concurrently or may sometimes be executed in the reverseorder, depending upon the functionality/acts involved.

Example embodiments may be described with reference to acts and symbolicrepresentations of operations (e.g., in the form of flow charts, flowdiagrams, data flow diagrams, structure diagrams, block diagrams, etc.)that may be implemented in conjunction with units and/or devicesdiscussed in more detail below. Although discussed in a particularlymanner, a function or operation specified in a specific block may beperformed differently from the flow specified in a flowchart, flowdiagram, etc. For example, functions or operations illustrated as beingperformed serially in two consecutive blocks may actually be performedsimultaneously, or in some cases be performed in reverse order.

Units and/or devices according to one or more example embodiments may beimplemented using hardware and/or a combination hardware and software.For example, hardware devices may be implemented using processingcircuitry such as, but not limited to, a processor, Central ProcessingUnit (CPU), a controller, an arithmetic logic unit (ALU), a digitalsignal processor, a microcomputer, a field programmable gate array(FPGA), a System-on-Chip (SoC), a programmable logic unit, amicroprocessor, or any other device capable of responding to andexecuting instructions in a defined manner.

Software may include a computer program, program code, instructions, orsome combination thereof, for independently or collectively instructingor configuring a hardware device to operate as desired. The computerprogram and/or program code may include program or computer-readableinstructions, software components, software modules, data files, datastructures, and/or the like, capable of being implemented by one or morehardware devices, such as one or more of the hardware devices mentionedabove. Examples of program code include both machine code produced by acompiler and higher level program code that is executed using aninterpreter.

For example, when a hardware device is a computer processing device(e.g., a processor, Central Processing Unit (CPU), a controller, anarithmetic logic unit (ALU), a digital signal processor, amicrocomputer, a microprocessor, etc.), the computer processing devicemay be configured to carry out program code by performing arithmetical,logical, and input/output operations, according to the program code.Once the program code is loaded into a computer processing device, thecomputer processing device may be programmed to perform the programcode, thereby transforming the computer processing device into a specialpurpose computer processing device. In a more specific example, when theprogram code is loaded into a processor, the processor becomesprogrammed to perform the program code and operations correspondingthereto, thereby transforming the processor into a special purposeprocessor.

Software and/or data may be embodied permanently or temporarily in anytype of machine, component, physical or virtual equipment, or computerstorage medium or device, capable of providing instructions or data to,or being interpreted by, a hardware device. The software also may bedistributed over network coupled computer systems so that the softwareis stored and executed in a distributed fashion. In particular, forexample, software and data may be stored by one or more computerreadable recording mediums, including the tangible or non-transitorycomputer-readable storage media discussed herein.

According to one or more example embodiments, computer processingdevices may be described as including various functional units thatperform various operations and/or functions to increase the clarity ofthe description. However, computer processing devices are not intendedto be limited to these functional units. For example, in one or moreexample embodiments, the various operations and/or functions of thefunctional units may be performed by other ones of the functional units.Further, the computer processing devices may perform the operationsand/or functions of the various functional units without sub-dividingthe operations and/or functions of the computer processing units intothese various functional units.

Units and/or devices according to one or more example embodiments mayalso include one or more storage devices. The one or more storagedevices may be tangible or non-transitory computer-readable storagemedia, such as random access memory (RAM), read only memory (ROM), apermanent mass storage device (such as a disk drive), solid state (e.g.,NAND flash) device, and/or any other like data storage mechanism capableof storing and recording data. The one or more storage devices may beconfigured to store computer programs, program code, instructions, orsome combination thereof, for one or more operating systems and/or forimplementing the example embodiments described herein. The computerprograms, program code, instructions, or some combination thereof, mayalso be loaded from a separate computer readable storage medium into theone or more storage devices and/or one or more computer processingdevices using a drive mechanism. Such separate computer readable storagemedium may include a Universal Serial Bus (USB) flash drive, a memorystick, a Blu-ray/DVD/CD-ROM drive, a memory card, and/or other likecomputer readable storage media. The computer programs, program code,instructions, or some combination thereof, may be loaded into the one ormore storage devices and/or the one or more computer processing devicesfrom a remote data storage device via a network interface, rather thanvia a local computer readable storage medium. Additionally, the computerprograms, program code, instructions, or some combination thereof, maybe loaded into the one or more storage devices and/or the one or moreprocessors from a remote computing system that is configured to transferand/or distribute the computer programs, program code, instructions, orsome combination thereof, over a network. The remote computing systemmay transfer and/or distribute the computer programs, program code,instructions, or some combination thereof, via a wired interface, an airinterface, and/or any other like medium.

The one or more hardware devices, the one or more storage devices,and/or the computer programs, program code, instructions, or somecombination thereof, may be specially designed and constructed for thepurposes of the example embodiments, or they may be known devices thatare altered and/or modified for the purposes of example embodiments.

A hardware device, such as a computer processing device, may run anoperating system (OS) and one or more software applications that run onthe OS. The computer processing device also may access, store,manipulate, process, and create data in response to execution of thesoftware. For simplicity, one or more example embodiments may beexemplified as one computer processing device; however, one skilled inthe art will appreciate that a hardware device may include multipleprocessing elements and multiple types of processing elements. Forexample, a hardware device may include multiple processors or aprocessor and a controller. In addition, other processing configurationsare possible, such as parallel processors.

Although described with reference to specific examples and drawings,modifications, additions and substitutions of example embodiments may bevariously made according to the description by those of ordinary skillin the art. For example, the described techniques may be performed in anorder different with that of the methods described, and/or componentssuch as the described system, architecture, devices, circuit, and thelike, may be connected or combined to be different from theabove-described methods, or results may be appropriately achieved byother components or equivalents.

Hereinafter, a description will be given in detail for some exampleembodiments of the inventive concepts with reference to the accompanyingdrawings. However, the inventive concepts are not limited by the exampleembodiments. Also, with respect to the descriptions of the drawings,like reference numerals refer to like elements.

FIG. 1 is a drawing illustrating a network environment according to anexample embodiment of the inventive concepts. As illustrated, thenetwork environment of FIG. 1 may include a plurality of electronicdevices 110 to 140, a plurality of servers 150 and 160, and a network170. However, the number of electronic devices and the number of serversmay not be limited thereto.

Each of the electronic devices 110 to 140 may be a fixed (e.g.,immobile) terminal or a mobile terminal implemented with a computerdevice. For example, the plurality of electronic devices 110 to 140 maybe a smart phone, a mobile phone, a navigation device, a computer, anotebook, a digital broadcasting terminal, a personal digital assistant(PDA), a portable multimedia player (PMP), a tablet personal computer(PC), and the like. For example, the electronic device 110 maycommunicate with the other electronic devices 120 to 140 and/or theservers 150 and 160 through the network 170 using a wired and/orwireless communication scheme.

The scope and sprit of the inventive concepts may not be limited to aspecific communication scheme. For example, a communication scheme usinga local area wireless communication network between devices as well as acommunication scheme using a communication network (e.g., a mobilecommunication network, a wired internet, a wireless internet, and abroadcasting network) may be included in the network 170. For example,the network 170 may include one or more of networks, such as a personalarea network (PAN), a local area network (LAN), a campus area network(CAN), a metropolitan area network (MAN), a wide area network (WAN), abroadband network (BBN), and the Internet. Also, the network 170 mayinclude, but is limited to, one or more of network topologies whichinclude a bus network, a star network, a ring network, a mesh network, astar-bus network, a tree or hierarchical network, and the like.

Each of the servers 150 and 160 may be implemented with a computerdevice or a plurality of computer devices which may communicate with theplurality of electronic devices 110 to 140 through the network 170 toprovide an instruction, a code, a file, content, a service, and the liketo the plurality of electronic devices 110 to 140.

For example, the server 160 may provide to the electronic device 110 afile for installing an application through the network 170. In thiscase, the electronic device 110 may install the application using thefile provided from the server 160. Also, the electronic device 110 mayconnect to the server 150 under control of an operating system (OS) andat least one program (e.g., a browser or the installed application)included in the electronic device 110 and may receive a service and/orcontent provided from the server 150. For one example, if the electronicdevice 110 sends a service request message to the server 150 through thenetwork 170 under control of the application, the server 150 may send acode corresponding to the service request message to the electronicdevice 110. The electronic device 110 may configure and display a screencorresponding to the code to provide content to its user. For anotherexample, the server 150 may establish a communication session for amessaging service and may route a message between the plurality ofelectronic devices 110 to 140 through the established communicationsession.

FIG. 2 is a block diagram illustrating a configuration of an electronicdevice and a configuration of a server in an example embodiment of theinventive concepts. In FIG. 2, an electronic device 110 of FIG. 1 isillustrated as an example of an electronic device and a server 150 ofFIG. 1 is illustrated as an example of a server. Components of theelectronic device 110 may be the same or similar to those of each of theother electronic devices 120 to 140 of FIG. 1, and components of theserver 150 may be the same or similar to those of the other server 160of FIG. 1.

The electronic device 110 may include a memory 211, a processor 212, acommunication module 213, and an input and output interface 214. Theserver 150 may include a memory 221, a processor 222, a communicationmodule 223, and an input and output interface 224. Each of the memories211 and 221 may be a computer-readable recording medium and may includea permanent mass storage device such as a random access memory (RAM), aread only memory (ROM), and a disc drive. Also, the memory 211 may storean OS and/or at least one program code (e.g., a code for a browser orapplication installed and driven in the electronic device 110). Thememory 221 may store an OS and/or at least one program code. Thesesoftware components may be loaded from a computer-readable recordingmedium, which is independent of the memories 211 and 221, using a drivemechanism. This computer-readable recording medium may includecomputer-readable recording media such as a floppy drive, a disc, atape, a digital versatile disc/compact disc-ROM (DVD/CD-ROM) drive, anda memory card. In another example embodiment, software components may beloaded into the memories 211 and 221 through the communication modules213 and 223, respectively, rather than a computer-readable recordingmedium. For example, at least one program may be loaded into each of thememories 211 and 221 based on a program (e.g., the above-mentionedapplication) installed by files provided by developers or a filedistribution system (e.g., the above-mentioned server 160), whichdistributes a file for installing an application, through the network170.

Each of the processors 212 and 222 may be configured to process aninstruction of a computer program by performing basic arithmetic, logic,and/or input and output operations. The instruction may be provided tothe processor 212 by the memory 211 or the communication module 213. Theinstruction may be provided to the processor 222 by the memory 221 orthe communication module 223. For example, each of the processor 212 and222 may be configured to execute an instruction received based on aprogram code stored in a storage device such as the memories 211 and221.

Each of the communication modules 213 and 223 may provide a functionsuch that the electronic device 110 and the server 150 communicate witheach other through the network 170. Each of communication modulesincluded in another electronic device 120 and another server 160 mayprovide a function such that the electronic device 120 and the server160 communicate with each other through the network 170. For example, arequest (e.g., a streaming service request for content) generated by theprocessor 212 of the electronic device 110 based on a program codestored in a recording device such as the memory 211 may be transmittedto the server 150 through the network 170 under control of thecommunication module 213. For example, a control signal or instruction,content, a file, and the like provided under control of the processor222 of the server 150 may be received in the electronic device 110through the communication module 213 of the electronic device 110,through the communication module 223, and the network 170. For example,the control signal or instruction of the server 150, received throughthe communication module 213, may be sent to the processor 212 and/orthe memory 211. The content or file of the server 150 may be stored in astorage medium which may be further included in the electronic device110.

The input and output interface 214 may interfere with the input andoutput device 215. For one example, the input device may include devicessuch as a mouse and a keyboard. The output device may include a displayfor displaying a communication session of an application. For anotherexample, the input and output interface 214 may interface with a device,such as a touch screen, in which an input function and an outputfunction are integrated into one. For example, in processing aninstruction of a computer program loaded into the memory 211, theprocessor 212 of the electronic device 110 may display a service screenand/or content, which is configured using data provided from the server150 or the electronic device 120, on a display of the electronic device110 through the input and output interface 214.

Also, in other example embodiments, the electronic device 110 mayinclude more components than those shown in FIG. 2. The server 150 mayinclude more components than those shown in FIG. 2. However,descriptions of such additional components are omitted for brevity. Forexample, the electronic device 110 may be implemented to include some ofcomponents of the above-mentioned input and output device 215 or mayfurther include other components (e.g., a transceiver, a globalpositioning system (GPS) module, a camera, various sensors, and/or adatabase).

FIG. 3 is a block diagram illustrating a detailed configuration of aprocessor of a server according to an example embodiment of theinventive concepts. FIG. 4 is a flowchart illustrating a methodperformed by a server according to an example embodiment of theinventive concepts. As shown in FIG. 3, a processor 222 of a server 150of FIG. 2 may include a messaging service controller 310, an informationreceive controller 320, a user identification controller 330, a storagecontroller 340, a location monitoring controller 350, and a messagetransmit controller 360. These components of the processor 222 maycontrol the server 150 to perform steps 410 to 470 included in a methodof FIG. 4 by execute an OS and/or at least one program code, included ina memory 221 of FIG. 2.

In step 410, the processor 222 may load a stored program code (e.g., acode corresponding to a computer-readable instruction) into the memory221 from a file for installing an application, which stores the programcode for performing the method of FIG. 4. For example, the applicationmay be installed in the server 150 using the file for installing theapplication. If the application installed in the server 150 is driven,the processor 222 may load the program code stored in the file into thememory 221. In this case, each of the messaging service controller 310,the information receive controller 320, the user identificationcontroller 330, the storage controller 340, the location monitoringcontroller 350, and the message transmit controller 360 included in theprocessor 222 may be execute a corresponding portion of the program codeloaded into the memory 221 to execute subsequent steps 420 to 470.Thereafter, the processor 222 may control the server 150 by controllingthe other components of the server 150. For example, the processor 222may control the communication module 223 included in the server 150 tocontrol the server 150 such that the server 150 communicates data withthe other server 160 and/or the electronic devices 110 to 140.

In step 420, the messaging service controller 310 may control the server150 to establish a communication session for electronic devices forrouting a message between the electronic devices through thecommunication session and for managing information about a humanrelationship between users of the electronic devices. For example, thecommunication session may correspond to a chat room of a messagingservice, and the human relationship may correspond to a friendrelationship in the messaging service. In this case, the messagingservice controller 310 may control the server 150 to manage the friendrelationship in the messaging service, to generate a chat room, and/orto manage message communication in the generated chat room.

In step 430, the information receive controller 320 may control theserver 150 to receive information (first information) about a time rangeand information (second information) about a location range from, forexample, a first electronic device among electronic devices. Forexample, the first electronic device may provide an interface forsetting a time range and a location range through an applicationassociated with a messaging service. If a user of the first electronicdevice sets a time range and/or a location range in various ways usingthe user interface, the first electronic device may send the informationabout the set time range and the information about the set locationrange to the server 150 under control of the application. In this case,the information receive controller 320 may control the server 150 toreceive information sent from the first electronic device.

In step 440, the user identification controller 330 may control theserver 150 to send information about one or more users with whom theuser of the first electronic device establishes a human relationshipbased on the information about the human relationship to the firstelectronic device and identify from the first electronic device a userselected among the one or more users with whom the human relationship isestablished. Therefore, the user of the first electronic device mayeasily select a specific user among the one or more users with whom ahuman relationship is established and may receive a service, withoutjoining a separate service or inputting information, for locating aspecific user, one by one in the separate service. Instead, the selecteduser may easily determine that he or she receives a service togetherwith the user of the first electronic device, with whom a humanrelationship is established through a messaging service, and may receivethe service without joining the separate service.

In step 450, the storage controller 340 may control the server 150 tostore the information about the time range and the information about thelocation range in a database in connection with an identifier of theuser of the first electronic device and an identifier of the identifieduser. The database may be implemented to be included in the server 150.In some example embodiments, the database may be implemented to beincluded in a system independent of the server 150. The server 150 mayaccess the database through communication between the server 150 and thesystem independent of the server 150. The server 150 may determine theuser of the first electronic device, who sets the time range and thelocation range, and a user of a second electronic device, selected bythe user of the first electronic device, through information stored inthe database.

In step 460, the location monitoring controller 350 may control theserver 150 to monitor a location of, for example, one of the firstelectronic device or the second electronic device of the identified userbased on information stored in the database. For example, an applicationassociated with the server 150 may be installed in the first electronicdevice. The first electronic device may periodically transmit currentGPS coordinates as current location under control of the application, tothe server 150. In this case, the server 150 may obtain the location ofthe first electronic device periodically. Then, the location monitoringcontroller 350 may monitor the location of the first electronic deviceusing the periodically obtained location. Similarly, the locationmonitoring controller 350 may monitor the location of the secondelectronic device

In step 470, if the one of the first electronic device or the secondelectronic device deviates from the location range in a timecorresponding to the time range, the message transmit controller 360 maycontrol the server 150 to send a notification message to the other ofthe first electronic device or the second electronic device through thecommunication session based on information stored in the database. Forexample, the message transmit controller 360 may compare theperiodically obtained location of the first electronic device with thelocation range periodically. If the location of the first electronicdevice is not include in the location range, the message transmitcontroller 360 may determine that the first electronic device isdeviated from the location range.

For one example, the location monitoring controller 350 may monitor alocation of the first electronic device and may determine whether thefirst electronic device deviates from the location range in a timecorresponding to the time range. In this case, if it is determined thatthe first electronic device deviates from the location range, themessage transmit controller 360 may send a notification message to thesecond electronic device through the communication session. For example,if the first electronic device deviates from a normal location range,the user of the first electronic device could be in an emergencysituation such as kidnapping. Thus, the message transmit controller 360may automatically send a notification message to a friend of the user ofthe first electronic device.

For another example, the location monitoring controller 350 may monitora location of the second electronic device and may determine whether thesecond electronic device deviates from the location range in a timecorresponding to the time range. In this case, if it is determined thatthe second electronic device deviates from the location range, themessage transmit controller 360 may send a notification message to thefirst electronic device through the communication session. Thus, theuser of the first electronic device may know whether the user of thesecond electronic device specified by the user of the first electronicdevice deviates from the location range within the time range set by theuser of the first electronic device.

As such, according to an example embodiment of the inventive concepts,users may easily and simply set a notification function based on alocation deviation using a function of a messaging service. A locationdeviation of the second user (or second users) selected by the firstuser may be informed to the first user using information about a humanrelationship of the messaging service. Also, if the user deviates from alocation or a location range set by him or her, his or her risk may bemitigated or prevented by informing another user, with whom the userestablishes a human relationship that the user deviates from thelocation or the location range.

Hereinafter, a description will be given of various methods of setting alocation range.

In an example embodiment, the first electronic device may provide a userinterface, for setting a location range, to the user of the firstelectronic device under control of an application driven in the firstelectronic device. In this case, the first electronic device may displaya map image on its screen. The user of the first electronic device mayset a desired range on the map image through the provided userinterface. In this case, the location range may include a range set onthe map image, which is displayed on the screen of the first electronicdevice, based on the input of the user of the first electronic device onthe map image. For one example, the user interface may include a drawingtool for drawing a boundary of a location range on a map image. Foranother example, the screen of the first electronic device may include atouch screen. The range set on the map image may include a range setthrough a touch gesture of the user on the touch screen. If the userdraws a circle through a touch and drag event on the map image,information about a location range corresponding the circle may begenerated. As such, the user may set various ranges he or she wants onthe map image.

FIG. 5 is a screen illustrating a process of setting a location rangeusing a map image in an example embodiment of the inventive concepts. Ascreen 500 of FIG. 5 illustrates that a user of a first electronicdevice draws a line using a touch and drag gesture on a map imagedisplayed on, for example, a touch screen of the first electronicdevice. In this case, if one range is set through the drawn line, arange on the map image corresponding to the range may be set as alocation range. For example, the first electronic device may display amap image of a location set by the user on the touch screen undercontrol of an application. Further, the first electronic device maydisplay a line on the map image based on a coordinate input through thetouch screen, may determine whether one range is set through the line,and may set a location range using the one set range and a correspondinglocation (e.g., a global positioning system (GPS) coordinate) on the mapimage.

A server 150 of FIG. 2 may monitor a location of the first electronicdevice (or a second electronic device). If the first electronic device(or the second electronic device) deviates from the set location range,the server 150 may send a notification message to the second electronicdevice (or the first electronic device).

In another example embodiment for setting a location range, the locationrange may include a location range for at least one route between asource and a destination set in the first electronic device. For thispurpose, the first electronic device may provide a user interface forsetting the source and the destination and may generate informationabout the location range for the at least one route between the sourceand the destination set through the user interface.

FIG. 6 is a screen illustrating a process of setting a location rangeusing a source and a destination in an example embodiment of theinventive concepts. A screen 600 of FIG. 6 may be a screen of a firstelectronic device and may illustrate one of routes from a source to adestination, which are set by a user of the first electronic device. Inthis case, the first electronic device may generate information about alocation range based on the displayed route. For example, a range 610 ofa dotted line displayed on the screen 600 may be a range set by thefirst electronic device to include the route from the source to thedestination. The first electronic device may set a location range usingthe set range and a corresponding location on a map image. For example,the first electronic device may set a location range to include all ofcoordinates within a certain distance from coordinates on the route. Forexample, if a user of a second electronic device moves from the sourceand to the destination using a vehicle such as taxi, a server 150 ofFIG. 2 may monitor whether the second electronic device moves along theroute from the source to the destination. If the second electronicdevice deviates from the location range, the server 150 may determinethat the second electronic device deviates from the route from thesource to the destination and may send a notification message to thefirst electronic device.

In another example embodiment for setting a location range, the locationrange may include a location range for a route of a vehicle selected inthe first electronic device. For example, the first electronic devicemay provide a user interface for selecting a route for each vehicle toits user. Also, the first electronic device may generate informationabout a location range for a route of a vehicle selected through theuser interface.

FIG. 7 is a screen illustrating a process of setting a location rangeusing a route of a vehicle in an example embodiment of the inventiveconcepts. In FIG. 7, a screen 700 may briefly display a route 710 of avehicle 1 selected by a user of a first electronic device. The route 710may be displayed on a map image. For example, in case of bus, the route710 may be displayed together with bus stop information. In case ofsubway, the route 710 may be displayed together with subway stationinformation. In this case, the first electronic device may set alocation range for the entire selected route 710 or for a specific orselect section of the route 710. A range of a dotted line on the screen700 of FIG. 7 may indicate a location range set for a specific or selectsection (e.g., a section from a station A to a station B) of the route710. For example, the first electronic device may set a location rangeusing a location on the map image around a set range.

It may not be practical to set all of movement routes for one user aslocation ranges. Hereinafter, a description will be given of an exampleembodiment of sending a notification message if it is determined that anelectronic device deviates from one location range and does not moveinto another location range. According to this example embodiment, thenotification message will not be send, although the electronic devicedeviates from a location range, if the electronic device moves from onelocation range to another location range from among a plurality oflocation ranges.

For example, a location range may include a first location range and asecond location range. In this case, a location monitoring controller350 of FIG. 3 may control a server 150 of FIG. 2 to determine whetherthe first electronic device (or the second electronic device), whichdeviates from the first location range in a time corresponding to a timerange, moves to a second location range. If it is determined that thefirst electronic device (or the second electronic device) does not moveto the second location range, a message transmit controller 360 of FIG.3 may control the server 150 to send a notification message to thesecond electronic device (or the first electronic device).

FIG. 8 is a drawing illustrating a plurality of location ranges in anexample embodiment of the inventive concepts. In FIG. 8, a set firstlocation range 810 and a set second location range 820 are brieflydisplayed on a map image 800. In this case, electronic device 830located within the first location range 810 move out from the firstlocation range 810. In this case, a server 150 of FIG. 2 may determinewhether the electronic device 830 deviates from the first location range810 and then moves into a second location range 820. For example, theserver 150 may analyze a movement route of the electronic device 830,predict a subsequent route, and determine whether the electronic device830 moves to the second location range 820 along the predicted route.

In this case, if it is determined that the electronic device 830 movesto the second location range 820, the server 150 may not send anotification message to another electronic device (not shown) merelybased on the deviation of the first location range 810. In contrast, ifit is determined that the electronic device 830 does not move to thesecond location range 820, the server 150 may send the notificationmessage to the other electronic device.

FIG. 9 is a block diagram illustrating a detailed configuration of aprocessor of an electronic device according to an example embodiment ofthe inventive concepts. FIG. 10 is a flowchart illustrating a methodperformed by an electronic device according to an example embodiment ofthe inventive concepts. The electronic device according to these exampleembodiments may correspond to a first electronic device (e.g., theelectronic device 110) described with reference to FIGS. 3 and 4.

As shown in FIG. 9, a processor 212 of the electronic device 110 may beconfigured (e.g., by software) to include a communication sessionconnection controller 910, a user interface provision controller 920, arange information generator 930, a user information receive controller940, a user identifying unit 950, and an information transmit controller960. These components of the processor 212 may control the electronicdevice 110 to perform steps 1010 to 1070 included in a method of FIG. 10and may be implemented to execute an OS and/or at least one program codeincluded in a memory 211 of the electronic device 110 to perform thiscontrol. Herein, the at least one program code may be installed anddriven in the electronic device 110, and may include a code of anapplication which provides a service of a server (e.g., a server 150 ofFIG. 2) to the electronic device 110. This application may be the sameas an application installed and driven in the electronic device 110.

In step 1010, the processor 212 may load a stored program code (e.g., acode corresponding to a computer-readable instruction) into a memory 211of FIG. 2 from a file for installing an application, which stores aprogram code for performing the method of FIG. 10. For example, theapplication may be installed in the electronic device 110 through thefile for installing the application. If the application installed in theelectronic device 110 is driven, the processor 212 may load the programcode stored in the file into the memory 211. In this case, each of thecommunication session connection controller 910, the user interfaceprovision controller 920, the range information generator 930, the userinformation receive controller 940, the use identifying unit 950, andthe information transmit controller 960 included in the processor 212may execute a corresponding portion of the program code loaded into thememory 211 to execute subsequent steps 1020 and 1070. Thereafter, theprocessor 212 may control the other components of the electronic device110. For example, the processor 212 may control a communication module213 of FIG. 2 included in the electronic device 110 such that theelectronic device 110 communicates data with the server 150 and/or otherelectronic devices.

In step 1020, the communication session connection controller 910 maycontrol the electronic device 110 to connect to a communication sessionfor communicating a message with at least another electronic device,under control of the application driven in the electronic device 110.

In step 1030, the user interface provision controller 920 may controlthe first electronic device 110 to provide a user interface forreceiving a time range and/or a location range, under control of theapplication.

In step 1040, the range information generator 930 may generateinformation about the time range and/or information about the locationrange based on information input through the user interface.

For one example, in step 1030, the user interface provision controller920 may control the electronic device 110 to display a map image on ascreen of the electronic device 110. In this case, in step 1040, therange information generator 930 may generate information about a rangeset on the map image as the information about the location range, basedon an input of a user of the electronic device 110 on the map imagedisplayed on the screen. For example, the screen of the electronicdevice 110 may include a touch screen. In this case, the rangeinformation generator 930 may recognize a range set through a touchgesture of the user on the touch screen and set a range on the mapimage.

For another example, in step 1030, the user interface provisioncontroller 920 may control the electronic device 110 to provide a userinterface for setting a source and a destination. In this case, in step1040, the range information generator 930 may generate information abouta location range based on at least one route between a source and adestination set through the user interface.

For another example, in step 1030, the user interface provisioncontroller 920 may control the electronic device 110 to provide a userinterface for selecting a route for each vehicle. In this case, in step1040, the range information generator 930 may generate information abouta location range for a route of a vehicle selected through the userinterface.

In step 1050, the user information receive controller 940 may controlthe electronic device 110 to receive information about one or moreusers, with whom the user of the electronic device 110 establishes ahuman relationship, in a messaging service through a server whichestablishes a communication session.

In step 1060, the user identifying unit 950 may identify a user selectedbased on an input of the user of the electronic device 110 among theusers.

In step 1070, the information transmit controller 960 may control theelectronic device 110 to send information about the time range, theinformation about the location range, and information about theidentified user to the server.

In this case, the server may store the information about the time rangeand the information about the location range in a database of the serverin connection with an identifier of the user of the electronic device110 and an identifier of the identified user. Also, the server maymonitor a location of the electronic device 110 (or an electronic device(e.g., an electronic device 120 of FIG. 1) of the identified user) basedon information stored in the database. If the electronic device 110 (orthe electronic device 120) deviates from a location range in a timecorresponding to a time range, the server may send a notificationmessage to the electronic device 120 (or the electronic device 110)through a communication session.

In another example embodiment, a location range may include a pluralityof location ranges such as a first location range and a second locationrange. In this case, the server may determine whether the electronicdevice 110 (or the electronic device 120) which deviates from the firstlocation range in the time corresponding to the time range moves intothe second location range. If it is determined that the electronicdevice 110 (or the electronic device 120) does not move into the secondlocation range, the server may send a notification message to theelectronic device 120 (or the electronic device 110).

Contents omitted in FIGS. 9 and 10 may refer to contents described withreference to FIGS. 1 to 8.

As such, according to some example embodiments of the inventiveconcepts, users may easily and simply set a notification function basedon the deviation of a location using a function of a messaging serviceby informing a first user of a location deviation of a second user (orsecond users), who is selected by the first user, using a humanrelationship of the messaging service. The system may detect deviationfrom various location ranges set based on various conditions, notdeviation from a specific location or place, by providing a service toset a location range in various ways. Also, according to some exampleembodiments of the inventive concepts, the system may provide a moreaccurate message notification by additionally monitoring movementbetween set location ranges and providing a notification message if auser or a user terminal deviating from a first location range does notmove into a second location range. If the user deviates from a locationset by him or her, the system may mitigate or prevent a risk of the userby informing another user, with whom a human relationship isestablished, that the user deviates from the location set by him or her.

The foregoing devices may be realized by hardware, software, and/orcombinations thereof. For example, the devices and componentsillustrated in the example embodiments of the inventive concepts may beimplemented in one or more general-use computers or special-purposecomputers, such as a processor, a controller, an arithmetic logic unit(ALU), a digital signal processor, a microcomputer, a field programmablearray (FPA), a programmable logic unit (PLU), a microprocessor or anydevice which may execute instructions and respond. A central processingunit may implement an operating system (OS) or one or softwareapplications running on the OS. Further, the processing unit may access,store, manipulate, process and generate data in response to execution ofsoftware. It will be understood by those skilled in the art thatalthough a single processing unit may be illustrated for convenience ofunderstanding, the processing unit may include a plurality of processingelements and/or a plurality of types of processing elements. Forexample, the central processing unit may include a plurality ofprocessors or one processor and one controller. Also, the processingunit may have a different processing configuration, such as a parallelprocessor.

Software may include computer programs, codes, instructions or one ormore combinations thereof and may configure a processing unit to operatein a desired manner or may independently or collectively control theprocessing unit. Software and/or data may be permanently or temporarilyembodied in any type of machine, components, physical equipment, virtualequipment, computer storage media or units or transmitted signal wavesso as to be interpreted by the processing unit or to provideinstructions or data to the processing unit. Software may be dispersedthroughout computer systems connected via networks and may be stored orexecuted in a dispersion manner. Software and data may be recorded inone or more computer-readable storage media.

The methods according to the above-described example embodiments of theinventive concepts may be implemented with program instructions whichmay be executed by computer or processor and may be recorded incomputer-readable media. The media may also include, alone or incombination with the program instructions, data files, data structures,and the like. The program instructions recorded in the media may bedesigned and configured especially for the example embodiments of theinventive concepts or be known and available to those skilled incomputer software. Computer-readable media include magnetic media suchas hard disks, floppy disks, and magnetic tape; optical media such ascompact disc-read only memory (CD-ROM) disks and digital versatile discs(DVDs); magneto-optical media such as floptical disks; and hardwaredevices that are specially configured to store and perform programinstructions, such as read-only memory (ROM), random access memory(RAM), flash memory, and the like. Program instructions include bothmachine codes, such as produced by a compiler, and higher level codesthat may be executed by the computer using an interpreter. The describedhardware devices may be configured to execute one or more softwaremodules to perform the operations of the above-described exampleembodiments of the inventive concepts, or vice versa.

While a few example embodiments have been shown and described withreference to the accompanying drawings, it will be apparent to thoseskilled in the art that various modifications and variations can be madefrom the foregoing descriptions. For example, adequate effects may beachieved even if the foregoing processes and methods are carried out indifferent order than described above, and/or the aforementionedelements, such as systems, structures, devices, or circuits, arecombined or coupled in different forms and modes than as described aboveor be substituted or switched with other components or equivalents.

According to an example embodiment, the system may allow users to easilyand simply set a notification function based on a location deviationusing a function of a messaging service by informing a first user of alocation deviation of a second user (or second users) selected by thefirst user using a human relationship of the messaging service.

According to an example embodiment, the system may detect deviation fromvarious location ranges set based on various conditions, not deviationfrom a specific or select location or place, by providing a service toset a location range in various ways.

According to an example embodiment, the system may provide a moreaccurate notification message by additionally monitoring movementbetween set location ranges and providing a notification message ifthere is no movement between the location ranges (meaning that a user ora user terminal deviating from a first location range does not move intoa second location range).

According to an example embodiment, the system may mitigate or prevent arisk of the user by informing another user, with whom the userestablishes a human relationship that the user deviates from a locationrange set by the user.

While some example embodiments have been particularly shown anddescribed, it will be understood by one of ordinary skill in the artthat variations in form and detail may be made therein without departingfrom the spirit and scope of the claims.

What is claimed is:
 1. A server comprising: a memory configured to storecomputer-readable instructions; and at least one processor configured toexecute the computer-readable instructions to, establish a communicationsession for routing messages between electronic devices and for managinghuman relationship information between users of the electronic devices,receive first information about a time range and second informationabout a location range from a first electronic device among theelectronic devices, send third information to the first electronicdevice based on the human relationship information, the thirdinformation being information about one or more users with whom a userof the first electronic device establishes a human relationship,identify, from the first electronic device, a user selected among theone or more users, store the first information and the secondinformation in a database in connection with an identifier of the userof the first electronic device and an identifier of the identified user,monitor a location of at least one of the first electronic device and asecond electronic device of the identified user based on the first andsecond information stored in the database, and send, when one of thefirst electronic device or the second electronic device deviates fromthe location range at a time corresponding to the time range, anotification message to the other one of the first electronic device orthe second electronic device through the communication session based onthe monitored location.
 2. The server of claim 1, wherein the locationrange is a range set on a map, based on an input of the user of thefirst electronic device on the map displayed on a screen of the firstelectronic device.
 3. The server of claim 2, wherein: the screen of thefirst electronic device is a touch screen; and the range set on the mapis set through a touch gesture of the user on the touch screen.
 4. Theserver of claim 1, wherein the location range includes at least oneroute between a source and a destination set in the first electronicdevice.
 5. The server of claim 1, wherein the location range includes aroute of a vehicle selected in the first electronic device.
 6. Theserver of claim 1, wherein: the location range includes a first locationrange and a second location range; and the at least one processor isconfigured to, determine whether the one of the first electronic deviceor the second electronic device deviates from the first location rangeat the time corresponding to the time range and moves into the secondlocation range, and send the notification message to the other one ofthe first electronic device or the second electronic device, if it isdetermined that the one of the first electronic device or the secondelectronic device does not move into the second location range.
 7. Amethod comprising: establishing, by a first electronic device, acommunication session for communicating a message with one or more otherelectronic devices; providing, by the first electronic device, a userinterface for receiving a time range and a location range; generating,by the first electronic device, first information about the time rangeand second information about the location range based on informationinput through the user interface; receiving, by the first electronicdevice, information about one or more users with whom a user of thefirst electronic device establishes a human relationship; identifying,by the first electronic device, a user selected based on an input of theuser of the first electronic device among the one or more users;sending, by the first electronic device, the first information, thesecond information, and third information about the identified user tothe server; storing, in the server, the first and second information inconnection with an identifier of the user of the first electronic deviceand an identifier of the identified user; monitoring, by the server, alocation of at least one of the first electronic device and a secondelectronic device of the identified user based on the first and secondinformation stored in the database; and sending, by the server, anotification message to one of the first electronic device or the secondelectronic device through the communication session, when the other oneof the first electronic device or the second electronic device deviatesfrom the location range at a time corresponding to the time range. 8.The method of claim 7, wherein: the user interface includes a map on ascreen of the first electronic device; and the generating generates thefirst information based on a range set on the map according to an inputof the user of the first electronic device on the map.
 9. The method ofclaim 8, wherein: the screen of the first electronic device is a touchscreen; and the generating the first information comprises, recognizingthe range set through a touch gesture of the user of the firstelectronic device on the touch screen.
 10. The method of claim 7,wherein: the user interface enables the user of the first electronicdevice to set a source and a destination; and the generating generatesthe first information based on at least one route between the source andthe destination.
 11. The method of claim 7, wherein: the user interfaceenables the user of the first electronic device to select a route foreach vehicle; and the generating generates the first information basedon the route of each vehicle selected through the user interface. 12.The method of claim 7, wherein: the location range includes a firstlocation range and a second location range; and the sending thenotification message comprises sending the notification message to theone of the first electronic device and the second electronic device ifit is determined that the other one of the first electronic device orthe second electronic device, which deviates from the first locationrange at a time corresponding to the time range, does not move to thesecond location range.
 13. A non-transitory computer-readable recordingmedium storing computer-readable instructions, which when executed by aprocessor, cause the processor to perform the method of claim 7.